The task of automation characteristically requires the coordinated control of numerous entities to reach a common goal. This task is complex because of the nature of the automation environment and requirements. The automation entities may be real, such as factory equipment, local area networks, databases and user terminals, or abstract, such as data, control software, and communication messages and protocols.
A first difficulty in automation integration is communication. Typically, the automation entities cannot communicate directly with one another and require interfaces for inter-entity communications. However, it is apparent that the solution is not to formulate interface .alpha. for communications between entities X and Y, interface .beta. for communications between entities Y and Z, and interface .gamma. for communications between entities Z and X, and so on. Such a system would require duplicitous efforts for initial system configuration and subsequent reconfigurations.
The task of automation integration must also facilitate frequent system reconfigurations and modifications. Equipment are often added or omitted from a processing line or cell, the automated processing lines or cells may be frequently reconfigured, etc. Therefore, the automation system must easily accommodate these changes.
Also typical of automation systems is that the tasks performed by many of the entities are done in parallel. Therefore, the automation system must also accommodate parallel executions to satisfy this requirement.